//路由守卫

import router from "./router";
import { getToken } from "./api/auth"
import userApi from './api/userApi'

router.beforeEach(function (to, from, next) {
    /*
      路由守卫的思路：
          * 激活组件是否需要守卫
              * 不用：直接可以进入激活组件
              * 用：判断是否有token
                  * 没有token：跳到登录页
                  * 有：验证token
                      * 验证通过：进入激活组件
                      * 验证不通过：跳到登录页
  */
    if (to.meta.nocheck) {
        //不用守卫
        next();
    } else {
        //需要守卫
        let token = getToken();
        if (token) {
            //有token：发送ajax请求验证token
            userApi.checkToken(token).then(res => {
                if (res.data.flag) {
                    //验证通过
                    next();
                } else {
                    router.push('/login');
                }
            })
        } else {
            //没有token
            router.push('/login');
        }
    }


})